package com.excilys.formation.project.model;

import java.util.Collection;

import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.User;

import com.excilys.formation.project.entities.Client;

/**
 * 
 * @author excilys
 * 
 */
@SuppressWarnings("serial")
public class ClientUser extends User {

	/**
	 * Instance du client pour la stocker en session.
	 */
	private final Client client;

	/**
	 * Constructeur prennant un client en paramètre.
	 * 
	 * @param client
	 *            Instance de client à garder en session
	 * @param authorities
	 *            Authorisations du client
	 */
	public ClientUser(Client client, Collection<? extends GrantedAuthority> authorities) {
		super(client.getLogin(), client.getPassword(), true, true, true, true, authorities);
		this.client = client;
	}

	/**
	 * Renvoie le client passé en session.
	 * 
	 * @return le client passé en session
	 */
	public Client getClient() {
		return client;
	}
}
